import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * En esta clase se agrega el fuego en la misma pococion de la rana para que simule que sale de 
 * la boca de esta
 * 
 * @author (Ana Laura Hernandez Elias) 
 * @version (1.1)
 */


public class Rana extends Enemigo
{
   
    private SimpleTimer tiemDisparo;
    private int tiempo;
    private int numIma;
    
    /**
     * En el constructor se reinicia el reloj que aparecera cada segundo un fuego
     * tambien se recorta la imagen para que no aparesca muy grande en el mundo
     * se reinician las variables que serviran para cambiar la imagen cada segundo;
     */ 
    public Rana()
    {
       tiemDisparo=new SimpleTimer();
       tiemDisparo.mark();
       GreenfootImage imagen;
       imagen=new GreenfootImage ("rana.png");
       imagen.scale(imagen.getWidth()*2/3,imagen.getHeight()*2/3);
       setImage(imagen);
       
       tiempo=0;
       numIma=0;
       
    }
    /**
     * el personaje hereda el comportamiento de la clase principal invocando a su act
     * en el actua de este  se invocan a los metodos de disparar y saltar(cambia las imagenes pra simular el salto)
     */
    public void act() 
    {
        super.act();
        
         if(getTocar()==false)
             dispara();
             
         saltaRana();
            
             
        // Add your action code here.
    } 
    /**
     * metodo en el cual se agrega un objeto de la clase Fuego  se agrega al mundo cada 1 y medio seguno  en la misma pocision de esta clase 
     * para simular que la rana esta disparando por su boca
     */ 
    public void dispara()
    {
         if(tiemDisparo.millisElapsed()>=1500)
            {
              getWorld().addObject(new Fuego(),getX()-1,getY());
             tiemDisparo.mark();
            } 
    }
   /**
    * metodo en el cual se cambian las imagenes determinado tiempo para
    * simular que la rana esta saltando
    */ 
      public void saltaRana()
    {
         
         GreenfootImage rana,rana1;

        if(tiempo>=13)
        {
          switch(numIma)
           {
            case 0:  rana=new  GreenfootImage ("rana.png");
                     rana.scale(rana.getWidth()*2/3,rana.getHeight()*2/3);
                     setImage(rana);
                     numIma=1;
                     tiempo=0;
                     break;
            case 1: rana1=new  GreenfootImage ("rana1.png");   
                       rana1.scale(rana1.getWidth()*2/3,rana1.getHeight()*2/3);
                       setImage(rana1);
                      numIma=0;
                     tiempo=0;
                     break;   
         }  
       } 
       tiempo++;
    }
}
